<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>高阶函数</title>
    <script>
        function filter(arr, callback) {
            // 创建一个新的数组，用来存储结果
            var newArr = [];

            //遍历arr
            for(var i=0; i<arr.length; i++){
                //判断 arr[i] 是否满足条件
                // 如果能够将代码，以参数的形式传递进行函数那就好了！
                if( callback(arr[i]) ){
                    newArr[newArr.length] = arr[i];
                }
            }
            //返回新数组
            return newArr;
        }
        var arr = [1,2,3,4,5,6,7,8,9,10]

        // var result = filter(arr,(n) => n % 2===0);
        var result = filter(arr,function(n){return n%2 ===0;})
        console.log(result);

    </script>
</head>
<body>

</body>
</html>